Semantic Language Extensions for Implicit Parallel Programming
نویسنده
چکیده
Several emerging fields of science and engineering are increasingly characterized by computationally intensive programs. Without parallelization, such programs do not benefit from the increasing core counts available in todays chip multiprocessors. However, writing correct and well-performing parallel programs is widely perceived to be an extremely hard problem. In order to understand the challenges faced by scientific programmers in effectively leveraging parallel computation, this dissertation first presents an in-depth field study of the practice of computational science. Based on the results of the field study, this dissertation proposes two new implicit parallel programming (IPP) solutions. With IPP, artificial constraints imposed by sequential models for automatic parallelization are overcome by use of semantic programming extensions. These preserve the ease of sequential programming and enable multiple parallelism forms without additional parallelism constructs, achieving the best of both automatic and explicit parallelization. The first IPP solution, Commutative Set, generalizes existing notions of semantic commutativity. It allows a programmer to relax execution orders prohibited under a sequential programming model with a high degree of expressiveness. The second IPP solution, WeakC, provides language extensions to relax strict consistency requirements of sequential data structures, and dynamically optimizes a parallel configuration of these data structures via a combined compiler-runtime system. This dissertation evaluates both Commutative Set and WeakC on real-world applications running on real hardware, including some that are actively used by some scientists in their day-to-day research. The detailed experimental evaluation results demonstrate the effectiveness of the proposed techniques.
منابع مشابه
Parallel Logic Programming with Extensions
A programming language is a tool and a vehicle for applications. The need to promote the evolution of Prolog towards a more expressive new logic programming language. A large medium-term national research project. Extensions to Logic Programming: new forms of computational reasoning, with explicit negation, constraint programming, parallelism and distribution support. The resulting language: PR...
متن کاملDPC++: Object-Oriented Programming Applied to Cluster Computing
This paper presents DPC++, an extension of C++ dedicated to object-oriented parallel and distributed programming on clusters of SMPs. DPC++ follows the active object model and provides language constructs for the exploration of both fineand coarse-grain parallelism. The main goal of the language is to encourage intuitivity in concurrent programming by means of implicit parallelism. We present a...
متن کاملNatural Language Multiprocessing: A Case Study
This paper presents two case studies of parallelization of large Natural Language Processing (NLP) applications using a parallel logic programming system (called "ACE") that automatically exploits implicit parallelism. The first system considered is Artwork, a system for semantic disambiguation, speech act resolution, and temporal reference resolution. The second system is ULTRA, a multilingual...
متن کاملA Comparison of Implicit and Explicit Parallel Programming
The impact of the parallel programming model on scientiic computing is examined. A comparison is made between Sisal, a functional language with implicit parallelism, and SR, an imperative language with explicit parallelism. Both languages are modern, high-level, concurrent programming languages. Five diierent scientiic applications were programmed in each language, and evaluated for programmabi...
متن کاملProgramming Research Group Some Extensions to the Probabilistic, Biased Model of Timed Csp Some Extensions to the Probabilistic, Biased Model of Timed Csp
In a previous paper Low92] we presented two languages based upon timed CSP, with associated semantic models. The rst language included biased operators in the syntax, which could be used to model diierent priorities on actions. The second language extended this by adding a probabilistic choice operator to the syntax; this allowed us to give a semantics which modelled the probabilities of diiere...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013